package com.tulele.vtool.handler;

import com.tulele.vtool.model.TipOffInfo;
import com.tulele.vtool.model.reqEntity.RecordTipOffInfoReqBean;
import com.tulele.vtool.model.respEntity.RespData;
import com.tulele.vtool.model.respEntity.ReturnCode;
import com.tulele.vtool.service.ITipOffInfoService;
import com.tulele.vtool.utils.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TipOffInfoHandler {

    @Autowired
    private ITipOffInfoService tipOffInfoService;

    @PostMapping(value = "/recordTipOffInfo", produces="application/json;charset=UTF-8")
    public RespData recordTipOffInfo(@RequestHeader("userId") String userId, @RequestBody RecordTipOffInfoReqBean recordTipOffInfoReqBean) {

        if (recordTipOffInfoReqBean == null || recordTipOffInfoReqBean.getArticleId() == null) {

            RespData respData = new RespData();
            respData.setCode(ReturnCode.CLIENT_ERROR);
            respData.setMsg("参数异常");
            return respData;

        }

        TipOffInfo tipOffInfo = new TipOffInfo();
        tipOffInfo.setUserId(Integer.parseInt(userId));
        tipOffInfo.setArticleId(recordTipOffInfoReqBean.getArticleId());
        tipOffInfo.setTipOffScene(1);
        tipOffInfo.setTipOffType(recordTipOffInfoReqBean.getTipOffType());
        tipOffInfo.setTipOffContent(recordTipOffInfoReqBean.getTipOffContent());
        tipOffInfo.setCreateTime(DateUtil.getCurDate());

        tipOffInfoService.recordTipOffInfo(tipOffInfo);

        RespData respData = new RespData();
        respData.setCode(ReturnCode.NORMAL_SUCC);
        respData.setMsg("成功");
        return respData;
    }

    /**20200520 yl
     * 添加用户投诉信息
     * @param userId
     * @param recordTipOffInfoReqBean
     * @return
     */
    @PostMapping(value = "/addTipOffInfo", produces="application/json;charset=UTF-8")
    public RespData addTipOffInfo(@RequestHeader("userId") String userId, @RequestBody RecordTipOffInfoReqBean recordTipOffInfoReqBean) {
        if (recordTipOffInfoReqBean == null || recordTipOffInfoReqBean.getArticleId() == null) {

            RespData respData = new RespData();
            respData.setCode(ReturnCode.CLIENT_ERROR);
            respData.setMsg("参数异常");
            return respData;

        }
        TipOffInfo tipOffInfo = new TipOffInfo();
        tipOffInfo.setUserId(Integer.parseInt(userId));
        tipOffInfo.setArticleId(recordTipOffInfoReqBean.getArticleId());
        tipOffInfo.setTipOffScene(1);
        tipOffInfo.setCreateTime(DateUtil.getCurDate());
        tipOffInfoService.recordTipOffInfo(tipOffInfo);
        RespData respData = new RespData();
        respData.setData(tipOffInfo.getId());
        respData.setCode(ReturnCode.NORMAL_SUCC);
        respData.setMsg("成功");
        return respData;
    }

    /**20200520 yl
     * 更新用户投诉信息
     * @param userId
     * @param tipOffInfo
     * @return
     */
    @PostMapping(value = "/updateTipOffInfo", produces="application/json;charset=UTF-8")
    public RespData updateTipOffInfo(@RequestHeader("userId") String userId, @RequestBody TipOffInfo tipOffInfo) {
        if (tipOffInfo == null) {
            RespData respData = new RespData();
            respData.setCode(ReturnCode.CLIENT_ERROR);
            respData.setMsg("参数异常");
            return respData;
        }
        tipOffInfo.setModifyTime(DateUtil.getCurDate());
        tipOffInfoService.updTipOffInfo(tipOffInfo);
        RespData respData = new RespData();
        respData.setData(tipOffInfo.getId());
        respData.setCode(ReturnCode.NORMAL_SUCC);
        respData.setMsg("成功");
        return respData;
    }

}
